It is well documented that data bits in a memory device can be flipped by the occurrence of a terrestrial cosmic ray as it interacts with a memory cell. If the memory is used in a harsh environment such as high altitude or even space environments, the problem is greatly exacerbated as the number of cosmic ray interactions increases dramatically. In an effort to reduce the soft error rate of memory devices, error detection and correction (EDAC) is often employed. In a typical system implementation, this EDAC is passive; that is, data is verified and corrected only when requested by the user. In this type of implementation, memory errors will accumulate until the data is requested by the user. Further, it is the user's responsibility to write the corrected data back to the memory, or the data resident in the memory device risks incurring an additional error, which would result in an uncorrectable error condition for conventional Hamming Codes. Other error correction methods have been described; however, all result in significant area and performance penalties. In a memory device this is undesirable. The end user of a memory device can incorporate an improvement over passive error correction referred to as active error correction, or data scrubbing, into the system design. Active error correction verifies the contents of each memory location at regular intervals, with the goal of correcting memory errors as they occur, thus reducing the chance of multiple bit errors (MBEs). This approach consumes device bandwidth as the user must execute periodic read-modify-write operations to correct the failing data bits as they occur. Depending upon the rate of data corruption and the size of the memory, this impact can be very significant. Finally, the design complexity required to incorporate this approach into end user systems is significant.